import React, { Component } from 'react'
import './index.css'

export default class Footer extends Component {

	//全选checkbox的回调
	handleCheckAll = (event) => {
		// 需要传递checked状态
		this.props.checkAllTodo(event.target.checked)
	}

	//清除已完成任务的回调
	handleClearAllDone = () => {
		this.props.clearAllDone()
	}

	render() {
		const { todos } = this.props
		//已完成的个数 reduce是数组方法 可以对数组进行统计 可以传递两个参数 第一个参数为回调 第二个参数为统计的数字
		// pre为之前做统计的值  里的todo是数组内的元素 之后用三元做判断完成统计
		const doneCount = todos.reduce((pre, todo) => pre + (todo.done ? 1 : 0), 0)
		//总数
		const total = todos.length
		return (
			<div className="todo-footer">
				<label>
					{/* 当勾选项和数组长度一致时且数组长度不为零 这里用checked是因为checked可以指定多次 */}
					<input type="checkbox" onChange={this.handleCheckAll} checked={doneCount === total && total !== 0 ? true : false} />
				</label>
				<span>
					<span>已完成{doneCount}</span> / 全部{total}
				</span>
				<button onClick={this.handleClearAllDone} className="btn btn-danger">清除已完成任务</button>
			</div>
		)
	}
}
